#pragma once
#include "Light.h"

class LightManager : Singleton<LightManager>
{
public:
	int		lightRenderListWorld(RenderList &rendList,Camera &camera);
	void	resetLights();
	int		initLight(
		int           index,      // index of light to create (0..MAX_LIGHTS-1)
		int          _state,      // state of light
		int          _attr,       // type of light, and extra qualifiers
		x3::RGBA     _c_ambient,  // ambient light intensity
		x3::RGBA     _c_diffuse,  // diffuse light intensity
		x3::RGBA     _c_specular, // specular light intensity
		Point4D		 _pos,        // position of light
		Vector4D	 _dir,        // direction of light
		float        _kc,         // attenuation factors
		float        _kl, 
		float        _kq
		);						  // power factor/falloff for spot lights

protected:
	friend class Singleton<LightManager>;
	LightManager(void);
	~LightManager(void);

	vector<Light>	m_lights;
};
